package com.tensai.study.java.newconcept.typereactiveprogram.reactor.mono;

import org.junit.Test;
import reactor.core.publisher.Mono;

/**
 * Map和FlatMap的区别就是一个只转换元素，一个生成了一个新的Mono
 *
 * @author Tensai
 */
public class MapAndFlatMapTest {

	@Test
	public void test() {
		// 同步的转换发布的元素并返回。
		Mono<String> monoMap = Mono.just("2").map(a -> a + "2");
		monoMap.subscribe(System.out::println);

		System.out.println("------------");

		//异步的转换发布的元素并返回一个新的Mono，被转换的元素和新Mono是动态绑定的。
		Mono<String> monoFlatMap = Mono.just("1").flatMap(a -> Mono.just(a + "1"));
		monoFlatMap.subscribe(System.out::println);

	}
}
